package pe.gob.sunarp.entidad;

import java.io.Serializable;
import javax.persistence.*;
import java.math.BigDecimal;
import java.util.Date;


/**
 * The persistent class for the BIEN database table.
 * 
 */
@Entity
@Table(name="BIEN")
public class Bien implements Serializable {
	private static final long serialVersionUID = 1L;
	private BienPK id;
	private String agntSync;
	private BigDecimal cantidad;
	private String codMarca;
	private String codModelo;
	private String descBien;
	private BigDecimal montoImpo;
	private String numMotor;
	private String numPlaca;
	private String numSerie;
	private String tipo;
	private Date tsUltSync;
	private AsientoGarantia asientoGarantia;

    public Bien() {
    }


	@EmbeddedId
	public BienPK getId() {
		return this.id;
	}

	public void setId(BienPK id) {
		this.id = id;
	}
	

	@Column(name="AGNT_SYNC", length=4)
	public String getAgntSync() {
		return this.agntSync;
	}

	public void setAgntSync(String agntSync) {
		this.agntSync = agntSync;
	}


	@Column(precision=12, scale=2)
	public BigDecimal getCantidad() {
		return this.cantidad;
	}

	public void setCantidad(BigDecimal cantidad) {
		this.cantidad = cantidad;
	}


	@Column(name="COD_MARCA", length=4)
	public String getCodMarca() {
		return this.codMarca;
	}

	public void setCodMarca(String codMarca) {
		this.codMarca = codMarca;
	}


	@Column(name="COD_MODELO", length=5)
	public String getCodModelo() {
		return this.codModelo;
	}

	public void setCodModelo(String codModelo) {
		this.codModelo = codModelo;
	}


	@Column(name="DESC_BIEN", length=100)
	public String getDescBien() {
		return this.descBien;
	}

	public void setDescBien(String descBien) {
		this.descBien = descBien;
	}


	@Column(name="MONTO_IMPO", precision=12, scale=2)
	public BigDecimal getMontoImpo() {
		return this.montoImpo;
	}

	public void setMontoImpo(BigDecimal montoImpo) {
		this.montoImpo = montoImpo;
	}


	@Column(name="NUM_MOTOR", length=35)
	public String getNumMotor() {
		return this.numMotor;
	}

	public void setNumMotor(String numMotor) {
		this.numMotor = numMotor;
	}


	@Column(name="NUM_PLACA", length=7)
	public String getNumPlaca() {
		return this.numPlaca;
	}

	public void setNumPlaca(String numPlaca) {
		this.numPlaca = numPlaca;
	}


	@Column(name="NUM_SERIE", length=35)
	public String getNumSerie() {
		return this.numSerie;
	}

	public void setNumSerie(String numSerie) {
		this.numSerie = numSerie;
	}


	@Column(length=1)
	public String getTipo() {
		return this.tipo;
	}

	public void setTipo(String tipo) {
		this.tipo = tipo;
	}


    @Temporal( TemporalType.DATE)
	@Column(name="TS_ULT_SYNC")
	public Date getTsUltSync() {
		return this.tsUltSync;
	}

	public void setTsUltSync(Date tsUltSync) {
		this.tsUltSync = tsUltSync;
	}


	//bi-directional many-to-one association to AsientoGarantia
    @ManyToOne
	@JoinColumns({
		@JoinColumn(name="COD_ACTO", referencedColumnName="COD_ACTO", nullable=false, insertable=false, updatable=false),
		@JoinColumn(name="NS_ASIENTO", referencedColumnName="NS_ASIENTO", nullable=false, insertable=false, updatable=false),
		@JoinColumn(name="REFNUM_PART", referencedColumnName="REFNUM_PART", nullable=false, insertable=false, updatable=false)
		})
	public AsientoGarantia getAsientoGarantia() {
		return this.asientoGarantia;
	}

	public void setAsientoGarantia(AsientoGarantia asientoGarantia) {
		this.asientoGarantia = asientoGarantia;
	}
	
}